#ifndef BASE_THREAD_OP_
#define BASE_THREAD_OP_
#include <cstdint>
namespace threadPool{
    class BaseThreadPoolOp{
    public:
        enum class ThreadPoolWorkMode:uint8_t{
            Dispatcher,
            Post
        };

        BaseThreadPoolOp(){}

        virtual ~BaseThreadPoolOp(){}

        virtual void run() = 0;

        virtual void stop() = 0;

        virtual void setTreadPool(const uint8_t threadNum) = 0;

        virtual void setThreadPoolMode(ThreadPoolWorkMode mode) = 0;

        static BaseThreadPoolOp* Instance_;
    };  
}

#endif